Επίλυση εξισώσεων - ανισώσεων - συστημάτων

Εξισώσεις

Η εξίσωση.

Clear["Global`*"]
eq = x^2 - 6 x + 7 == 0
\[7-6 x+x^{2}=0\]

ΔΙάφοροι τρόποι λύσης.

Solve[eq, x]
NSolve[eq, x]
FindRoot[eq, {x, 2}]
Reduce[eq, x]
\[{{x\to 3-\sqrt{2}},{x\to 3+\sqrt{2}}}\]
\[{{x\to 1.585786437626905`},{x\to 4.414213562373095`}}\]
\({x\to 1.5857864376269046`}\)
\[x=3-\sqrt{2}||x=3+\sqrt{2}\]

Σε υπερβατικές εξισώσεις αποδίδει μόνο η NSolve και η FindRoot.

eqTr = 4 Cos[x] == x
\[4 \cos(x)=x\]

Με Solve.

Solve[eqTr, x]
\[Solve[4 \cos(x)=x,x]\]

Καμία απάντηση.

Πάμε με NSolve.

NSolve[eqTr, x]
\[{{x\to 1.2523532340025887`},{x\to -2.1333322516593336`},{x\to 6.069373809862558` -1.0081413111296318` I},{x\to -3.595304867161548`},{x\to 12.413669654074987` -1.8109760317216583` I},{x\to 18.728159021193004` -2.232836445435137` I},{x\to 25.03088857023468` -2.525780451549453` I},{x\to 31.327617878937104` -2.7511883953952965` I},{x\to 37.620824028810716` -2.934657347253487` I},{x\to 43.91176613212405` -3.0894539569664508` I},{x\to 50.201158158542995` -3.2233767468562187` I},{x\to 56.489437736164284` -3.341410164253839` I},{x\to 62.776889276088234` -3.4469376275332113` I},{x\to 69.06370626177511` -3.542362795469995` I},{x\to 75.35002524849001` -3.6294554476917957` I},{x\to 81.63594557225315` -3.7095568106994046` I}}\]

Πάμε με FindRoot.

FindRoot[eqTr, {x, 1}]
\({x\to 1.2523532340025887`}\)

Πάμε τέλος και με Reduce.

Reduce[eqTr, x]
\[Reduce[4 \cos(x)=x,x]\]

Ανισώσεις

Reduce[x^2 - 9 > 0, x]
x<-3||x>3

Συστήματα

Ακριβής λύση

Αρχίζουμε με απλή κατασκευή-επίλυση συστημάτων με Solve.

Clear["Global`*"]
eq1 = 3 x + 5 y == 1
eq2 = x^2 - y == 2
Solve[{eq1, eq2}, {x, y}]
\[3 x+5 y=1\]
\[x^{2}-y=2\]
\[{{x\to (\frac{1}{10}) (-3-\sqrt{229}),y\to (\frac{1}{50}) (19+3 (\sqrt{229}))},{x\to (\frac{1}{10}) (-3+\sqrt{229}),y\to (\frac{1}{50}) (19-3 (\sqrt{229}))}}\]

Ακολούθως θα δούμε και άλλη προσέγγιση παραγωγής-λύσης συστημάτων.

Έχουμε τις εξισώσεις:

Clear["Global`*"]
n = 4;
eqns = Table[Sum[(i^j - j^i) x[i], {i, 1, n}] == 3*j, {j, 1, n}];
TableForm[eqns]
\[\begin{pmatrix} x(2)+2 x(3)+3 x(4)=3 \\ -x(1)+x(3)=6 \\ -2 x(1)-x(2)-17 x(4)=9 \\ -3 x(1)+17 x(3)=12 \end{pmatrix}\]

Με μεταβλητές:

vars = Table[x[j], {j, 1, n}]
\({x(1),x(2),x(3),x(4)}\)

Λύνουμε το σύστημα αρχικά με Solve, για να έχουμε μέτρο σύγκρισης.

Solve[eqns, vars]
\[{{x(1)\to -\frac{45}{7},x(2)\to \frac{27}{7},x(3)\to -\frac{3}{7},x(4)\to 0}}\]

Ακολούθως θα δοκιμάσουμε και με το LinearSolve. Εξάγουμε αρχικά τους συντελεστές:

system = Normal[CoefficientArrays[eqns]]
{{-3,-6,-9,-12},{{0,1,2,3},{-1,0,1,0},{-2,-1,0,-17},{-3,0,17,0}}}

Επειδή, όπως παρατηρούμε, οι σταθεροί όροι είναι οι αντίθετοι από τους προβλεπόμενους, το διάνυσμα των σταθερών όρων θα είναι το αντίθετο από αυτό που εξήχθη.

b = -system[[1]];
A = system[[2]];
b // MatrixForm
A // MatrixForm
MatrixPlot[A]
\[\begin{pmatrix} 3 \\ 6 \\ 9 \\ 12 \end{pmatrix}\]
\[\begin{pmatrix} 0 & 1 & 2 & 3 \\ -1 & 0 & 1 & 0 \\ -2 & -1 & 0 & -17 \\ -3 & 0 & 17 & 0 \end{pmatrix}\]
Raster Plot

Κι έχουμε τη λύση μας.

f = LinearSolve[A]
\[LinearSolveFunction[ {4, 4}, {3, True, {{{-1, 0, 1, 0}, {0, 1, 2, 3}, {3, 0, 14, 0}, {2, -1, 0, -14}}, {2, 1, 4, 3}, 0}, {0, Automatic, Automatic}, 0, {4, 4}} ]\]

Βρίσκουμε τη λύση

f[b]
\[{-\frac{45}{7},\frac{27}{7},-\frac{3}{7},0}\]

Προσεγγιστική λύση

Clear["Global`*"]
eq1 = 3 x + 5 y == 1
eq2 = x^2 - y == 2
NSolve[{eq1, eq2}, {x, y}]
\[3 x+5 y=1\]
\[x^{2}-y=2\]
\[{{x\to 1.2132745950421553`,y\to -0.5279647570252932`},{x\to -1.813274595042156`,y\to 1.2879647570252934`}}\]
Clear["Global`*"]
f1[x_, y_] := x^2 + 4*x*y + y^2;
f2[x_, y_] := 5*x^2 - 4*x*y + 2*y^2;
ContourPlot[{f1[x, y] == 4, f2[x, y] == 8}, {x, -4, 4}, {y, -4, 4}]
sol1 = FindRoot[{f1[x, y] == 4, f2[x, y] == 8}, {{x, 0}, {y, 2.2}}];
sol2 = FindRoot[{f1[x, y] == 4, 
    f2[x, y] == 8}, {{x, 1.6}, {y, 0.4}}];
sol3 = FindRoot[{f1[x, y] == 4, f2[x, y] == 8}, {{x, 0}, {y, -2.1}}];
sol4 = FindRoot[{f1[x, y] == 4, 
    f2[x, y] == 8}, {{x, -.21}, {y, -0.2}}];
solList = {sol1, sol2, sol3, sol4};
-4 -2 0 2 4 -4 -2 0 2 4
For[i = 1, i <= 4, i++,
  Print[{x, y} /. solList[[i]]] ]